<html>
  <head>
    <title>Logo Examples</title>
  </head>
  <body>

<h1>Logo Examples</h1>

<p>
Each example file is commented at the head as to how to use it.
</p>


<h2>Examples mostly from Brian Harvey's books on Logo</h2>

<table>
  <tr>
    <th>Program</th>
    <th>Purpose/Function</th>
  </tr>

  <tr>
    <td><a href="ucblogo/ALGS.LGO">ALGS.LGO</a></td>
    <td>Assorted logo algorithms</td>
  </tr>

  <tr>
    <td><a href="ucblogo/BASIC.LGO">BASIC.LGO</a></td>
    <td>BASIC (the language) Interpreter</td>
  </tr>

  <tr>
    <td><a href="ucblogo/COMPILE.LGO">COMPILE.LGO</a></td>
    <td>Logo Precompiler for functions with MAP</td>
  </tr>

  <tr>
    <td><a href="ucblogo/DIFF.LGO">DIFF.LGO</a></td>
    <td>File difference utility</td>
  </tr>

  <tr>
    <td><a href="ucblogo/DOCSETUP.LGO">DOCSETUP.LGO</a></td>
    <td>Simulated intelligent Doctor</td>
  </tr>

  <tr>
    <td><a href="ucblogo/DOCTOR.LGO">DOCTOR.LGO</a></td>
    <td>Simulated intelligent Doctor (Pre-Initialized)</td>
  </tr>

  <tr>
    <td><a href="ucblogo/FORMAT.LGO">FORMAT.LGO</a></td>
    <td>Formats Text into Paragraphs with margins etc.</td>
  </tr>

  <tr>
    <td><a href="ucblogo/FSM.LGO">FSM.LGO</a></td>
    <td>Finite State Machine Parser</td>
  </tr>

  <tr>
    <td><a href="ucblogo/MATCH.LGO">MATCH.LGO</a></td>
    <td>Regular Expression Evaluator</td>
  </tr>

  <tr>
    <td><a href="ucblogo/MATH.LGO">MATH.LGO</a></td>
    <td>Logic Analysis Program (very nice)</td>
  </tr>

  <tr>
    <td><a href="ucblogo/PLOT.LGO">PLOT.LGO</a></td>
    <td>Plots harmonic functions?</td>
  </tr>

  <tr>
    <td><a href="ucblogo/POKER.LGO">POKER.LGO</a></td>
    <td>Evaluates Poker Hands</td>
  </tr>

  <tr>
    <td><a href="ucblogo/POUR.LGO">POUR.LGO</a></td>
    <td>How to use 2 unmarked bottles to measure out a volume</td>
  </tr>

  <tr>
    <td><a href="ucblogo/PP.LGO">PP.LGO</a></td>
    <td>Logo list Pretty Printer</td>
  </tr>

  <tr>
    <td><a href="ucblogo/SOLITAIR.LGO">SOLITAIR.LGO</a></td>
    <td>Solitaire Game (Uses Cursor, needs rework for FMSLogo)</td>
  </tr>

  <tr>
    <td><a href="ucblogo/STUDENT.LGO">STUDENT.LGO</a></td>
    <td>Mathematical Word Problem solver (incredible)</td>
  </tr>

  <tr>
    <td><a href="ucblogo/TTT.LGO">TTT.LGO</a></td>
    <td>Tic Tac Toe game</td>
  </tr>
</table>


<h2>Examples using some of FMSLogo's graphical extensions</h2>

<table>
  <tr>
    <th>Program</th>
    <th>Purpose/Function</th>
  </tr>

  <tr>
    <td><a href="misc/CLOCK.LGO">CLOCK.LGO</a></td>
    <td>Graphical Real Working Clock</td>
  </tr>

  <tr>
    <td><a href="misc/CURVES.LGO">CURVES.LGO</a></td>
    <td>Koch, Hilbert, Piano curves etc.</td>
  </tr>

  <tr>
    <td><a href="misc/HANOI.LGO">HANOI.LGO</a></td>
    <td>Graphical solution to Towers of Hanoi</td>
  </tr>

  <tr>
    <td><a href="misc/JOYSTICK.LGO">JOYSTICK.LGO</a></td>
    <td>Example using the Joystick to move the turtle</td>
  </tr>

  <tr>
    <td><a href="misc/PLATE.LGO">PLATE.LGO</a></td>
    <td>Simulation of heat propagation is an Ideal plate</td>
  </tr>

  <tr>
    <td><a href="misc/SPRITE.LGO">SPRITE.LGO</a></td>
    <td>Example of how to do sprite animation</td>
  </tr>
</table>


<h2>Examples using the PASCAL interpreter (Written in LOGO) also from Brian</h2>

<table>
  <tr>
    <th>Program</th>
    <th>Purpose/Function</th>
  </tr>

  <tr>
    <td><a href="pascal/PASCAL.LGO">PASCAL.LGO</a></td>
    <td>Pascal compiler (Load this first)
        Usage <code>COMPILE "name.PAS PRUN "name</code></td>
  </tr>

  <tr>
    <td><a href="pascal/CARDS.PAS">CARDS.PAS</a></td>
    <td>Shuffle ordered deck of cards example</td>
  </tr>

  <tr>
    <td><a href="pascal/MULTI.PAS">MULTI.PAS</a></td>
    <td>Multinomial expansion problem</td>
  </tr>

  <tr>
    <td><a href="pascal/PSORT.PAS">PSORT.PAS</a></td>
    <td>Partition Sort Example</td>
  </tr>

  <tr>
    <td><a href="pascal/TOWER.PAS">TOWER.PAS</a></td>
    <td>Solves Tower of Hanoi Textually</td>
  </tr>
</table>


<h2>Examples of using your sound card/cdrom through FMSLogo/Windows</h2>

<table>
  <tr>
    <th>Program</th>
    <th>Purpose/Function</th>
  </tr>

  <tr>
    <td><a href="multimed/SOUNDS.LGO">SOUNDS.LGO</a></td>
    <td>Loads and Plays two .WAV files on sound card</td>
  </tr>

  <tr>
    <td><a href="multimed/ECHO.LGO">ECHO.LGO</a></td>
    <td>Echo's your voice on sounds card</td>
  </tr>

  <tr>
    <td><a href="multimed/VIDEO.LGO">VIDEO.LGO</a></td>
    <td>Plays .AVI (Audio Visual Interlace) files</td>
  </tr>

  <tr>
    <td><a href="multimed/CDROM.LGO">CDROM.LGO</a></td>
    <td>Simple non-graphical CD player</td>
  </tr>

  <tr>
    <td><a href="multimed/MIDI.LGO">MIDI.LGO</a></td>
    <td>Makes your keyboard into 127 MIDI instruments</td>
  </tr>

  <tr>
    <td><a href="multimed/MIDIFILE.LGO">MIDIFILE.LGO</a></td>
    <td>Plays a MIDI file (.MID) in the background in a loop</td>
  </tr>

  <tr>
    <td><a href="multimed/GROW.LGO">GROW.LGO</a></td>
    <td>Animation of a Flower Growing</td>
  </tr>

  <tr>
    <td><a href="multimed/PAINT.LGO">PAINT.LGO</a></td>
    <td>Windows Like "Paint" program</td>
  </tr>

  <tr>
    <td><a href="multimed/NOFLICK.LGO">NOFLICK.LGO</a></td>
    <td>Example of how to do flicker free animation</td>
  </tr>

  <tr>
    <td><a href="multimed/SHAPES.LGO">SHAPES.LGO</a></td>
    <td>Example of how to paste non-rectangular overlapped bitmaps</td>
  </tr>

</table>



<h2>Examples of using Logo's API to Windows</h2>

<table>
  <tr>
    <th>Program</th>
    <th>Purpose/Function</th>
  </tr>

  <tr>
    <td><a href="windows/CALC.LGO">CALC.LGO</a></td>
    <td>Simple Windows Calculator</td>
  </tr>

  <tr>
    <td><a href="windows/MODELESS.LGO">MODELESS.LGO</a></td>
    <td>Shows most controls available</td>
  </tr>

  <tr>
    <td><a href="windows/MODAL.LGO">MODAL.LGO</a></td>
    <td>Shows most controls available but in MODAL mode (see Help)</td>
  </tr>

  <tr>
    <td><a href="windows/VISUAL.LGO">VISUAL.LGO</a></td>
    <td>Start of a Visual Dialog Editor</td>
  </tr>

  <tr>
    <td><a href="windows/DLL32.LGO">DLL32.LGO</a></td>
    <td>Shows how to call DLLs in Win32</td>
  </tr>

</table>



<h2>Examples of using Logo's API to Networking</h2>

<table>
  <tr>
    <th>Program</th>
    <th>Purpose/Function</th>
  </tr>

  <tr>
    <td><a href="network/NETLOCAL.LGO">NETLOCAL.LGO</a></td>
    <td>Sends Logo commands out network and back on same machine</td>
  </tr>

  <tr>
    <td><a href="network/NETPAIR.LGO">NETPAIR.LGO</a></td>
    <td>Sends Logo commands back and forth between a pair of machines</td>
  </tr>

  <tr>
    <td><a href="network/NETRING.LGO">NETRING.LGO</a></td>
    <td>Sends Logo commands to n machines in a ring fashion</td>
  </tr>
</table>



<h2>Examples of using Logo's 3D capabilities</h2>

<table>
  <tr>
    <th>Program</th>
    <th>Purpose/Function</th>
  </tr>

  <tr>
    <td><a href="3d/3DBITMAP.LGO">3DBITMAP.LGO</a></td>
    <td>Example of rotating a bitmap in 3D</td>
  </tr>

  <tr>
    <td><a href="3d/3DJOY.LGO">3DJOY.LGO</a></td>
    <td>Example using the Joy Stick to move the turtle in 3D</td>
  </tr>

  <tr>
    <td><a href="3d/3DMOVIE.LGO">3DMOVIE.LGO</a></td>
    <td>Example of a solid shaded 3D GIF Movie</td>
  </tr>

  <tr>
    <td><a href="3d/3DSIMPLE.LGO">3DSIMPLE.LGO</a></td>
    <td>Simple examples using 3D</td>
  </tr>

  <tr>
    <td><a href="3d/3DSTEPS.LGO">3DSTEPS.LGO</a></td>
    <td>Simple introduction into using 3D</td>
  </tr>

  <tr>
    <td><a href="3d/3DTRIG.LGO">3DTRIG.LGO</a></td>
    <td>Example of a trig based animated surface (GIF Movie)</td>
  </tr>

  <tr>
    <td><a href="3d/AXIS.LGO">AXIS.LGO</a></td>
    <td>Shows the AXIS and how to move the vantage point</td>
  </tr>

  <tr>
    <td><a href="3d/CHECKER.LGO">CHECKER.LGO</a></td>
    <td>Example of taking 2D flood fill pictures in 3D</td>
  </tr>

  <tr>
    <td><a href="3d/HILBERT.LGO">HILBERT.LGO</a></td>
    <td>Example of a solid shaded 3D Space Filling Hilbert Curve</td>
  </tr>

  <tr>
    <td><a href="3d/SHUTTLE.LGO">SHUTTLE.LGO</a></td>
    <td>Shows loading in a vector database of the Space Shuttle</td>
  </tr>

  <tr>
    <td><a href="3d/SHUTTLE.3DV">SHUTTLE.3DV</a></td>
    <td>Database used in SHUTTLE.LGO and STEREO.LGO</td>
  </tr>

  <tr>
    <td><a href="3d/STEREO.LGO">STEREO.LGO</a></td>
    <td>Shows how to do stereo vision using 3D glasses</td>
  </tr>

  <tr>
    <td><a href="3d/SOLAR.LGO">SOLAR.LGO</a></td>
    <td>Example of drawing a crude solar system</td>
  </tr>

  <tr>
    <td><a href="3d/SPHERE.LGO">SPHERE.LGO</a></td>
    <td>Example of several solid shaded spheres</td>
  </tr>

  <tr>
    <td><a href="3d/TORUS.LGO">TORUS.LGO</a></td>
    <td>Example of a solid shaded Torus</td>
  </tr>
</table>

  </body>
</html>

